{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#                                计算机视觉的应用"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 概述\n",
    "\n",
    "计算机视觉是当前深度学习研究最广泛、落地最成熟的技术领域，在手机拍照、智能安防、自动驾驶等场景有广泛应用。从2012年AlexNet在ImageNet比赛夺冠以来，深度学习深刻推动了计算机视觉领域的发展，当前最先进的计算机视觉算法几乎都是深度学习相关的。深度神经网络可以逐层提取图像特征，并保持局部不变性，被广泛应用于分类、检测、分割、跟踪、检索、识别、提升、重建等视觉任务中。\n",
    "本次体验结合图像分类任务，介绍MindSpore如何应用于计算机视觉场景，如何训练模型，得出一个性能较优的模型。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 图像分类\n",
    "\n",
    "图像分类是最基础的计算机视觉应用，属于有监督学习类别。给定一张数字图像，判断图像所属的类别，如猫、狗、飞机、汽车等等。用函数来表示这个过程如下："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "```python\n",
    "def classify(image):\n",
    "   label = model(image)\n",
    "   return label\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "定义的分类函数，以图片数据`image`为输入，通过`model`方法对`image`进行分类，最后返回分类结果。选择合适的`model`是关键。这里的`model`一般指的是深度卷积神经网络，如AlexNet、VGG、GoogLeNet、ResNet等等。  \n",
    "下面按照MindSpore的训练数据模型的正常步骤进行，当使用到MindSpore或者图像分类操作时，会增加相应的说明，本次体验的整体流程如下：\n",
    "\n",
    "1. 数据集的准备，这里使用的是CIFAR-10数据集。\n",
    "\n",
    "2. 构建一个卷积神经网络，这里使用ResNet-50网络。\n",
    "\n",
    "3. 定义损失函数和优化器。\n",
    "\n",
    "4. 调用Model高阶API进行训练和保存模型文件。\n",
    "\n",
    "5. 进行模型精度验证。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> 本文档适用于GPU和Ascend环境。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 训练数据集下载\n",
    "\n",
    "### 数据集准备"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "./datasets/cifar-10-batches-bin\n",
      "├── readme.html\n",
      "├── test\n",
      "│   └── test_batch.bin\n",
      "└── train\n",
      "    ├── batches.meta.txt\n",
      "    ├── data_batch_1.bin\n",
      "    ├── data_batch_2.bin\n",
      "    ├── data_batch_3.bin\n",
      "    ├── data_batch_4.bin\n",
      "    └── data_batch_5.bin\n",
      "\n",
      "2 directories, 8 files\n"
     ]
    }
   ],
   "source": [
    "!wget -N https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/datasets/cifar-10-binary.tar.gz\n",
    "!mkdir -p datasets\n",
    "!tar -xzf cifar-10-binary.tar.gz -C datasets\n",
    "!mkdir -p datasets/cifar-10-batches-bin/train datasets/cifar-10-batches-bin/test\n",
    "!mv -f datasets/cifar-10-batches-bin/test_batch.bin datasets/cifar-10-batches-bin/test\n",
    "!mv -f datasets/cifar-10-batches-bin/data_batch*.bin datasets/cifar-10-batches-bin/batches.meta.txt datasets/cifar-10-batches-bin/train\n",
    "!tree ./datasets/cifar-10-batches-bin"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据处理\n",
    "\n",
    "数据集处理对于训练非常重要，好的数据集可以有效提高训练精度和效率。在加载数据集前，我们通常会对数据集进行一些处理。这里我们用到了数据增强，数据混洗和批处理。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据增强主要是对数据进行归一化和丰富数据样本数量。常见的数据增强方式包括裁剪、翻转、色彩变化等等。MindSpore通过调用`map`方法在图片上执行增强操作。数据混洗和批处理主要是通过数据混洗`shuffle`随机打乱数据的顺序，并按`batch`读取数据，进行模型训练。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "构建`create_dataset`函数，来创建数据集。通过设置` resize_height`、`resize_width`、`rescale`、`shift`参数，定义`map`以及在图片上运用`map`实现数据增强。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The dataset size is: 1562\n",
      "The batch tensor is: (32, 3, 224, 224)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 32 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import mindspore.nn as nn\n",
    "from mindspore import dtype as mstype\n",
    "import mindspore.dataset as ds\n",
    "import mindspore.dataset.vision.c_transforms as C\n",
    "import mindspore.dataset.transforms.c_transforms as C2\n",
    "from mindspore import context\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "context.set_context(mode=context.GRAPH_MODE, device_target=\"GPU\")\n",
    "\n",
    "def create_dataset(data_home, repeat_num=1, batch_size=32, do_train=True, device_target=\"GPU\"):\n",
    "    \"\"\"\n",
    "    create data for next use such as training or inferring\n",
    "    \"\"\"\n",
    "\n",
    "    cifar_ds = ds.Cifar10Dataset(data_home,num_parallel_workers=8, shuffle=True)\n",
    "\n",
    "    c_trans = []\n",
    "    if do_train:\n",
    "        c_trans += [\n",
    "            C.RandomCrop((32, 32), (4, 4, 4, 4)),\n",
    "            C.RandomHorizontalFlip(prob=0.5)\n",
    "        ]\n",
    "\n",
    "    c_trans += [\n",
    "        C.Resize((224, 224)),\n",
    "        C.Rescale(1.0 / 255.0, 0.0),\n",
    "        C.Normalize([0.4914, 0.4822, 0.4465], [0.2023, 0.1994, 0.2010]),\n",
    "        C.HWC2CHW()\n",
    "    ]\n",
    "\n",
    "    type_cast_op = C2.TypeCast(mstype.int32)\n",
    "\n",
    "    cifar_ds = cifar_ds.map(operations=type_cast_op, input_columns=\"label\", num_parallel_workers=8)\n",
    "    cifar_ds = cifar_ds.map(operations=c_trans, input_columns=\"image\", num_parallel_workers=8)\n",
    "\n",
    "    cifar_ds = cifar_ds.batch(batch_size, drop_remainder=True)\n",
    "    cifar_ds = cifar_ds.repeat(repeat_num)\n",
    "\n",
    "    return cifar_ds\n",
    "\n",
    "\n",
    "ds_train_path = \"./datasets/cifar-10-batches-bin/train/\"\n",
    "dataset_show = create_dataset(ds_train_path)\n",
    "with open(ds_train_path+\"batches.meta.txt\",\"r\",encoding=\"utf-8\") as f:\n",
    "    all_name = [name.replace(\"\\n\",\"\") for name in f.readlines()]\n",
    "\n",
    "iterator_show= dataset_show.create_dict_iterator()\n",
    "dict_data = next(iterator_show)\n",
    "images = dict_data[\"image\"].asnumpy()\n",
    "labels = dict_data[\"label\"].asnumpy()\n",
    "count = 1\n",
    "%matplotlib inline\n",
    "for i in images:\n",
    "    plt.subplot(4, 8, count)\n",
    "    # Images[0].shape is (3,224,224).We need transpose as (224,224,3) for using in plt.show().\n",
    "    picture_show = np.transpose(i,(1,2,0))\n",
    "    picture_show = picture_show/np.amax(picture_show)\n",
    "    picture_show = np.clip(picture_show, 0, 1)\n",
    "    plt.title(all_name[labels[count-1]])\n",
    "    picture_show = np.array(picture_show,np.float32)\n",
    "    plt.imshow(picture_show)\n",
    "    count += 1\n",
    "    plt.axis(\"off\")\n",
    "\n",
    "print(\"The dataset size is:\", dataset_show.get_dataset_size())\n",
    "print(\"The batch tensor is:\",images.shape)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据集生成后，选取一个`batch`的图像进行可视化查看，经过数据增强后，原数据集变成了每个batch张量为，共计1572个batch的新数据集。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 定义卷积神经网络\n",
    "\n",
    "卷积神经网络已经是图像分类任务的标准算法了。卷积神经网络采用分层的结构对图片进行特征提取，由一系列的网络层堆叠而成，比如卷积层、池化层、激活层等等。\n",
    "ResNet-50通常是较好的选择。首先，它足够深，常见的有34层，50层，101层。通常层次越深，表征能力越强，分类准确率越高。其次，可学习，采用了残差结构，通过shortcut连接把低层直接跟高层相连，解决了反向传播过程中因为网络太深造成的梯度消失问题。此外，ResNet-50网络的性能很好，既表现为识别的准确率，也包括它本身模型的大小和参数量。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下载构建好的resnet50网络源码文件。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "--2021-03-15 19:23:03--  https://obs.dualstack.cn-north-4.myhuaweicloud.com/mindspore-website/notebook/source-codes/resnet.py\n",
      "Resolving proxy-notebook.modelarts-dev-proxy.com (proxy-notebook.modelarts-dev-proxy.com)... 192.168.0.172\n",
      "Connecting to proxy-notebook.modelarts-dev-proxy.com (proxy-notebook.modelarts-dev-proxy.com)|192.168.0.172|:8083... connected.\n",
      "Proxy request sent, awaiting response... 200 OK\n",
      "Length: 9521 (9.3K) [binary/octet-stream]\n",
      "Saving to: ‘resnet.py’\n",
      "\n",
      "resnet.py           100%[===================>]   9.30K  --.-KB/s    in 0s      \n",
      "\n",
      "2021-03-15 19:23:03 (194 MB/s) - ‘resnet.py’ saved [9521/9521]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "!wget -N https://obs.dualstack.cn-north-4.myhuaweicloud.com/mindspore-website/notebook/source-codes/resnet.py"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下载下来的`resnet.py`在当前目录，可以使用`import`方法将resnet50网络导出。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from resnet import resnet50\n",
    "\n",
    "net = resnet50(batch_size=32, num_classes=10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 定义损失函数和优化器\n",
    "\n",
    "接下来需要定义损失函数（Loss）和优化器（Optimizer）。损失函数是深度学习的训练目标，也叫目标函数，可以理解为神经网络的输出（Logits）和标签(Labels)之间的距离，是一个标量数据。\n",
    "常见的损失函数包括均方误差、L2损失、Hinge损失、交叉熵等等。图像分类应用通常采用交叉熵损失（CrossEntropy）。\n",
    "优化器用于神经网络求解（训练）。由于神经网络参数规模庞大，无法直接求解，因而深度学习中采用随机梯度下降算法（SGD）及其改进算法进行求解。MindSpore封装了常见的优化器，如SGD、ADAM、Momemtum等等。本例采用Momentum优化器，通常需要设定两个参数，动量（moment）和权重衰减项（weight decay）。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通过调用MindSpore中的API：`Momentum`和`SoftmaxCrossEntropyWithLogits`，设置损失函数和优化器的参数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import mindspore.nn as nn\n",
    "from mindspore.nn import SoftmaxCrossEntropyWithLogits\n",
    "\n",
    "ls = SoftmaxCrossEntropyWithLogits(sparse=True, reduction=\"mean\")\n",
    "opt = nn.Momentum(filter(lambda x: x.requires_grad, net.get_parameters()), 0.01, 0.9)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 调用Model高阶API进行训练和保存模型文件\n",
    "\n",
    "完成数据预处理、网络定义、损失函数和优化器定义之后，就可以进行模型训练了。模型训练包含两层迭代，数据集的多轮迭代（epoch）和一轮数据集内按分组（batch）大小进行的单步迭代。其中，单步迭代指的是按分组从数据集中抽取数据，输入到网络中计算得到损失函数，然后通过优化器计算和更新训练参数的梯度。\n",
    "\n",
    "为了简化训练过程，MindSpore封装了Model高阶接口。用户输入网络、损失函数和优化器完成Model的初始化，然后调用`train`接口进行训练，`train`接口参数包括迭代次数`epoch`和数据集`dataset`。\n",
    "\n",
    "模型保存是对训练参数进行持久化的过程。`Model`类中通过回调函数的方式进行模型保存，如下面代码所示。用户通过`CheckpointConfig`设置回调函数的参数，其中，`save_checkpoint_steps`指每经过固定的单步迭代次数保存一次模型，`keep_checkpoint_max`指最多保存的模型个数。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "本次体验选择`epoch_size`为10，一共迭代了10次，得到如下的运行结果。体验者可以自行设置不同的`epoch_size`，生成不同的模型，在下面的验证部分查看模型精确度。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch: 1 step: 1562, loss is 0.91001683\n",
      "epoch: 2 step: 1562, loss is 1.2816406\n",
      "epoch: 3 step: 1562, loss is 0.9639759\n",
      "epoch: 4 step: 1562, loss is 0.52665555\n",
      "epoch: 5 step: 1562, loss is 0.47037172\n",
      "epoch: 6 step: 1562, loss is 0.78620523\n",
      "epoch: 7 step: 1562, loss is 0.63779867\n",
      "epoch: 8 step: 1562, loss is 0.18493408\n",
      "epoch: 9 step: 1562, loss is 0.33825904\n",
      "epoch: 10 step: 1562, loss is 0.21595426\n"
     ]
    }
   ],
   "source": [
    "from mindspore.train.callback import ModelCheckpoint, CheckpointConfig, LossMonitor\n",
    "from mindspore import load_checkpoint, load_param_into_net\n",
    "import os\n",
    "from mindspore import Model\n",
    "\n",
    "\n",
    "model = Model(net, loss_fn=ls, optimizer=opt, metrics={'acc'})\n",
    "# As for train, users could use model.train\n",
    "\n",
    "epoch_size = 10\n",
    "ds_train_path = \"./datasets/cifar-10-batches-bin/train/\"\n",
    "model_path = \"./models/ckpt/mindspore_vision_application/\"\n",
    "os.system('rm -f {0}*.ckpt {0}*.meta {0}*.pb'.format(model_path))\n",
    "\n",
    "dataset = create_dataset(ds_train_path )\n",
    "batch_num = dataset.get_dataset_size()\n",
    "config_ck = CheckpointConfig(save_checkpoint_steps=batch_num, keep_checkpoint_max=35)\n",
    "ckpoint_cb = ModelCheckpoint(prefix=\"train_resnet_cifar10\", directory=model_path, config=config_ck)\n",
    "loss_cb = LossMonitor(142)\n",
    "model.train(epoch_size, dataset, callbacks=[ckpoint_cb, loss_cb])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "查询训练过程中，保存好的模型。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "./models/ckpt/mindspore_vision_application/\n",
      "├── train_resnet_cifar10-10_1562.ckpt\n",
      "├── train_resnet_cifar10-1_1562.ckpt\n",
      "├── train_resnet_cifar10-2_1562.ckpt\n",
      "├── train_resnet_cifar10-3_1562.ckpt\n",
      "├── train_resnet_cifar10-4_1562.ckpt\n",
      "├── train_resnet_cifar10-5_1562.ckpt\n",
      "├── train_resnet_cifar10-6_1562.ckpt\n",
      "├── train_resnet_cifar10-7_1562.ckpt\n",
      "├── train_resnet_cifar10-8_1562.ckpt\n",
      "├── train_resnet_cifar10-9_1562.ckpt\n",
      "└── train_resnet_cifar10-graph.meta\n",
      "\n",
      "0 directories, 11 files\n"
     ]
    }
   ],
   "source": [
    "!tree ./models/ckpt/mindspore_vision_application/"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "每1562个step保存一次模型权重参数`.ckpt`文件，一共保存了10个，另外`.meta`文件保存模型的计算图信息。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 进行模型精度验证\n",
    "\n",
    "调用`model.eval`得到最终精度数据约为0.76远高于0.5，准确度较高，验证得出模型是性能较优的。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "result:  {'acc': 0.7557091346153846}\n"
     ]
    }
   ],
   "source": [
    "# As for evaluation, users could use model.eval\n",
    "ds_eval_path = \"./datasets/cifar-10-batches-bin/test/\"\n",
    "eval_dataset = create_dataset(ds_eval_path, do_train=False)\n",
    "res = model.eval(eval_dataset)\n",
    "print(\"result: \", res)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 总结\n",
    "\n",
    "本次体验，带领体验者了解了MindSpore的卷积神经网络ResNet-50，通过构建ResNet-50对CIFAR-10进行分类。可以看出MindSpore的ResNet-50的构建非常容易，损失函数和优化器都有封装好的API，对于初学者和研发人员都非常的友善。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "MindSpore-1.1.1",
   "language": "python",
   "name": "mindspore-1.1.1"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
